package com.urbainski.estagio.negocio;

import java.util.List;

import org.hibernate.Criteria;
import org.hibernate.criterion.Order;

import com.urbainski.dao.bo.GenericBO;
import com.urbainski.estagio.entidade.Cidade;

public class CidadeBO extends GenericBO {
	
	/**
	 * @author Cristian Elder Urbainski
	 * @since 21/12/2011
	 */

	public List<Cidade> buscarTodasCidades() throws Exception {
		
		try {
			getUrbainskiDao().beginTras();
			
			Criteria crit = getUrbainskiDao().getSessao().createCriteria(Cidade.class)
					.createAlias("estado", "estado", Criteria.INNER_JOIN)
					.addOrder(Order.asc("dsCidade"));
			
			@SuppressWarnings("unchecked")
			List<Cidade> listaCidade = (List<Cidade>) crit.list();
			
			getUrbainskiDao().commitTrans();
			
			return listaCidade;
		} catch (Exception e) {
			e.printStackTrace();
			getUrbainskiDao().rollbackTrans();
			throw e;
		}
	}
}
